Skip to content

Imgcity ​

此時我剛從其他 blog 網站搬出,想說自己部落格的資料總該自己持有和維護。

v0 ​

這個版本有 frontend 和 backend,要編輯時,要起一個 python server,他修改的資料會寫 markdown 檔案到 repository 裡面。

我很快就對需要維護和改良的 backend 感到疲倦。

v1 ​

直接使用了 hugo,但 vscode 實在不是個好的寫作軟體。

v2 (當前版本) ​

靈感來源: https://nolebase.ayaka.io/ vitepress + obsidian。

目前使用 Plugin 以及設定 ​

由於要盡量讓 obsidian 和 vitepress 的生成結果盡量吻合,需要對 plugin 進行一些功能限縮的調整。

Obsidian ​

不錯的所見及所得的編輯器 + CMS,我可以更專注在寫作上。

系統內設定 ​

  • 避免使用 Wikilink ,增加 Github 相容性和可轉移性。
  • 內部連結是插入相對路徑。
  • 關閉『把檔名顯示為可編輯的內嵌標題』。

Git ​

Git 管理 blog。

Icons Shortcode ​

關掉 Lucide,因為目前我部屬的 vitepress 沒有支援。

Folder Note ​

搭配 vitepress-sidebar 裡面設定。

自製 Plugin ​

放在 repo 的 .obsidian/plugins/imgcity-*,純 JS 免 build,到 Community plugins 啟用即可。

文章裡的 Vue component 在 Obsidian 看不到效果,與其自製 editor,不如寫小 plugin 補預覽;其餘結構性的修改交給 AI。

Imgcity PostCards ​

把 <PostCards> 顯示成卡片:標題、日期、縮圖,點擊開啟該篇。閱讀模式與 Live Preview 都支援。

  • 縮圖規則同 build:frontmatter image,否則內文第一張本地圖。
  • 網址找不到會標紅框。
  • Live Preview 下點卡片以外的地方或游標移進去,就回到原始碼編輯。
  • 也負責 <ProjectCards>:圖片、描述、連結/原始碼,點連結用瀏覽器開。

Imgcity PanoramaViewer ​

把 <PanoramaViewer> 攤平顯示,用框標出 yaw 的初始視角。閱讀模式與 Live Preview 都支援。

  • 點圖片試其他 yaw,再點 yaw="…" 標籤:Live Preview 直接寫回標籤,閱讀模式則複製。
  • 沒有 3D 預覽,那需要 bundle three.js。

vitepress ​

Static site generator

vitepress-sidebar ​

用既有檔案來生成 sidebar。

vitepress-plugin-git-changelog ​

可以在頁面底下增加一串修改時間紀錄。

Just observe 👀